diff --git a/user_guide/libraries/javascript.html b/user_guide/libraries/javascript.html
index 2856fdb..08982fd 100644
--- a/user_guide/libraries/javascript.html
+++ b/user_guide/libraries/javascript.html
@@ -84,98 +84,8 @@
 <p><code>$config['javascript_location'] = 'http://localhost/codeigniter/themes/js/jquery/');<br />
 		$config['javascript_ajax_img'] = 'images/ajax-loader.gif';</code></p>
 <p>If you keep your files in the same directories they were downloaded from, then you need not set this configuration items.</p>
-<h2>Events</h2>
-<p>Events are set using the following syntax.</p>
-<p><code>$this-&gt;jquery-&gt;event('element_path', code_to_run());</code></p>
-<p>In the above example:</p>
-<ul>
-	<li>&quot;event&quot; is any of blur, change, click, dblclick, error, focus, hover, keydown, keyup, load, mousedown, mouseup, mouseover, mouseup, resize, scroll, or unload.</li>
-	<li>&quot;element_path&quot; is any valid <a href="http://docs.jquery.com/Selectors">jQuery selector</a>. Due to jQuery's unique selector syntax, this is usually an element id, or CSS selector. For example &quot;#notice_area&quot; would effect &lt;div id=&quot;notice_area&quot;&gt;, and &quot;#content a.notice&quot; would effect all anchors with a class of &quot;notice&quot; in the div with id &quot;content&quot;.</li>
-	<li>&quot;code_to_run()&quot; is script your write yourself, or an action such as an effect from the jQuery library below.</li>
-	</ul>
-<h2>Effects</h2>
-<p>The query library supports a powerful <a href="http://docs.jquery.com/Effects">effects</a> repertoire. </p>
-<h3>hide() / show()</h3>
-<p>Each of this functions will affect the visibility of an item on your page. hide() will set an item invisible, show() will reveal it.</p>
-<p><code>$this-&gt;jquery-&gt;hide(target,  optional speed, optional extra information);<br />
-	$this-&gt;jquery-&gt;show(target,  optional speed, optional extra information);</code></p>
-<ul>
-	<li>&quot;target&quot; will be any valid jQuery selector or selectors.</li>
-	<li>&quot;speed&quot; is optional, and is set to either slow, normal, fast, or alternatively a number of milliseconds.</li>
-	<li>&quot;extra information&quot; is optional, and could include a callback, or other additional information.</li>
-</ul>
-<h3>toggle()</h3>
-<p>toggle() will change the visibility of an item to the opposite of its current state, hiding visible elements, and revealing hidden ones.</p>
-<p><code>$this-&gt;jquery-&gt;toggle(target);</code></p>
-<ul>
-	<li>&quot;target&quot; will be any valid jQuery selector or selectors.</li>
-</ul>
-<h3>animate()</h3>
-<p><code> $this-&gt;jquery-&gt;animate(target, parameters, optional speed, optional extra information);</code></p>
-<ul>
-	<li>&quot;target&quot; will be any valid jQuery selector or selectors.</li>
-	<li>&quot;paramters&quot; in jQuery would generally include a series of CSS properties that you wish to change.</li>
-	<li>&quot;speed&quot; is optional, and is set to either slow, normal, fast, or alternatively a number of milliseconds.</li>
-	<li>&quot;extra information&quot; is optional, and could include a callback, or other additional information.</li>
-</ul>
-<p>For a full summary, see <a href="http://docs.jquery.com/Effects/animate">http://docs.jquery.com/Effects/animate</a></p>
-<p>Here is an example of an animate() called on a div with an id of &quot;note&quot;, and triggered by a click using the jQuery library's click() event.</p>
-<p><code> $params = array(<br />
-	'height' =&gt; 80,<br />
-	'width' =&gt; '50%',<br />
-	'marginLeft' =&gt; 125<br />
-);<br />
-$this-&gt;jquery-&gt;click('#trigger', $this-&gt;jquery-&gt;animate('#note', $params, normal));</code></p>
-<h2>fadeIn() / fadeOut()</h2>
-<p><code>$this-&gt;jquery-&gt;fadeIn(target,  optional speed, optional extra information);<br />
-	$this-&gt;jquery-&gt;fadeOut(target,  optional speed, optional extra information);</code></p>
-<ul>
-	<li>&quot;target&quot; will be any valid jQuery selector or selectors.</li>
-	<li>&quot;speed&quot; is optional, and is set to either slow, normal, fast, or alternatively a number of milliseconds.</li>
-	<li>&quot;extra information&quot; is optional, and could include a callback, or other additional information.</li>
-</ul>
-<h2>toggleClass()</h2>
-<p>This function will add or remove a CSS class to its target.</p>
-<p><code>$this-&gt;jquery-&gt;toggleClass(target, class)</code></p>
-<ul>
-	<li>&quot;target&quot; will be any valid jQuery selector or selectors.</li>
-	<li>&quot;class&quot; is any CSS classname. Note that this class must be defined and available in a CSS that is already loaded.</li>
-	</ul>
-<h2>fadeIn() / fadeOut()</h2>
-<p>These effects cause an element(s) to disappear or reappear over time.</p>
-<p><code>$this-&gt;jquery-&gt;fadeIn(target,  optional speed, optional extra information);<br />
-	$this-&gt;jquery-&gt;fadeOut(target,  optional speed, optional extra information);</code></p>
-<ul>
-	<li>&quot;target&quot; will be any valid jQuery selector or selectors.</li>
-	<li>&quot;speed&quot; is optional, and is set to either slow, normal, fast, or alternatively a number of milliseconds.</li>
-	<li>&quot;extra information&quot; is optional, and could include a callback, or other additional information.</li>
-</ul>
-<h2>slideUp() / slideDown() / slideToggle()</h2>
-<p>These effects cause an element(s) to slide.</p>
-<p><code>$this-&gt;jquery-&gt;slideUp(target,  optional speed, optional extra information);<br />
-	$this-&gt;jquery-&gt;slideDown(target,  optional speed, optional extra information);<br />
-$this-&gt;jquery-&gt;slideToggle(target,  optional speed, optional extra information);</code></p>
-<ul>
-	<li>&quot;target&quot; will be any valid jQuery selector or selectors.</li>
-	<li>&quot;speed&quot; is optional, and is set to either slow, normal, fast, or alternatively a number of milliseconds.</li>
-	<li>&quot;extra information&quot; is optional, and could include a callback, or other additional information.</li>
-</ul>
-<h2>Plugins</h2>
-<p>Some select jQuery plugins are made available using this library.</p>
-<h3>corner()</h3>
-<p>Used to add distinct corners to page elements. For full details see <a href="http://www.malsup.com/jquery/corner/">http://www.malsup.com/jquery/corner/</a></p>
-<p><code>$this-&gt;jquery-&gt;corner(target, corner_style);</code></p>
-<ul>
-	<li>&quot;target&quot; will be any valid jQuery selector or selectors.</li>
-	<li>&quot;corner_style&quot; is optional, and can be set to any valid style such as round, sharp, bevel, bite, dog, etc. Individual corners can be set by following the style with a space and using &quot;tl&quot; (top left), &quot;tr&quot; (top right), &quot;bl&quot; (bottom left), or &quot;br&quot; (bottom right).</li>
-</ul>
-<p><code>$this-&gt;jquery-&gt;corner(&quot;#note&quot;, &quot;cool tl br&quot;);</code></p>
-<h3>tablesorter()</h3>
-<p>description to come</p>
-<h3>modal()</h3>
-<p>description to come</p>
-<h3>calendar()</h3>
-<p>description to come</p>
+
+<p>For information on outputting events, effects, etc., refer to the <a href="jquery.html">jQuery Class</a> documentation.</p>
 </div>
 <!-- END CONTENT -->
 
